using System;

namespace Neturion.Dados
{
    /// <summary>
    /// 
    /// </summary>
    public class Funcionario
    {
        private int funcionarioId;
        private string _codigo;
        private Cargo _cargo;
        private decimal _salario;
        private decimal _salarioAnterior;
        private decimal _percentualUltimoReajuste;
        private DateTime? _dataUltimoReajuste;
        private DateTime _dataContratacao;
        private DateTime? _dataDemissao;
        private Pessoa _pessoa;
        private Setor _setor;
        private string _observacao;
        
        public Funcionario()
        {
           
        }

        public virtual int FuncionarioId
        {
            get { return funcionarioId; }
            set { funcionarioId = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public virtual string Codigo
        {
            get { return _codigo; }
            set { _codigo = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public virtual Cargo Cargo
        {
            get { return _cargo; }
            set { _cargo = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public virtual decimal Salario
        {
            get { return _salario; }
            set { _salario = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public virtual decimal SalarioAnterior
        {
            get { return _salarioAnterior; }
            set { _salarioAnterior = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public virtual DateTime? DataUltimoReajuste
        {
            get { return _dataUltimoReajuste; }
            set { _dataUltimoReajuste = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public virtual decimal PercentualUltimoReajuste
        {
            get { return _percentualUltimoReajuste; }
            set { _percentualUltimoReajuste = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public virtual DateTime DataContratacao
        {
            get { return _dataContratacao; }
            set { _dataContratacao = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        public virtual DateTime? DataDemissao
        {
            get { return _dataDemissao; }
            set { _dataDemissao = value; }
        }

        /// <summary>
        /// 
        /// </summary>
        
        

        public virtual Setor Setor
        {
            get { return _setor; }
            set { _setor = value; }
        }

        public virtual Pessoa Pessoa
        {
            get { return _pessoa; }
            set { _pessoa = value; }
        }

        public virtual string Observacao
        {
            get { return _observacao; }
            set { _observacao = value; }
        }
    }
}